{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Notes:\n",
    " * tuned fresh and trained on toi data, with toi examples in the validation set\n",
    " * adding some of the scalar features into the vetting primry input"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "['/mnt/tess/astronet/checkpoints/vrevised_tuned_6_run_3/1/AstroCNNModelVetting_vrevised_tuned_20211031_135527',\n",
       " '/mnt/tess/astronet/checkpoints/vrevised_tuned_6_run_3/2/AstroCNNModelVetting_vrevised_tuned_20211031_140744',\n",
       " '/mnt/tess/astronet/checkpoints/vrevised_tuned_6_run_3/3/AstroCNNModelVetting_vrevised_tuned_20211031_142009',\n",
       " '/mnt/tess/astronet/checkpoints/vrevised_tuned_6_run_3/4/AstroCNNModelVetting_vrevised_tuned_20211031_143234',\n",
       " '/mnt/tess/astronet/checkpoints/vrevised_tuned_6_run_3/5/AstroCNNModelVetting_vrevised_tuned_20211031_144456',\n",
       " '/mnt/tess/astronet/checkpoints/vrevised_tuned_6_run_3/6/AstroCNNModelVetting_vrevised_tuned_20211031_145726',\n",
       " '/mnt/tess/astronet/checkpoints/vrevised_tuned_6_run_3/7/AstroCNNModelVetting_vrevised_tuned_20211031_151002',\n",
       " '/mnt/tess/astronet/checkpoints/vrevised_tuned_6_run_3/8/AstroCNNModelVetting_vrevised_tuned_20211031_152230',\n",
       " '/mnt/tess/astronet/checkpoints/vrevised_tuned_6_run_3/9/AstroCNNModelVetting_vrevised_tuned_20211031_153450',\n",
       " '/mnt/tess/astronet/checkpoints/vrevised_tuned_6_run_3/10/AstroCNNModelVetting_vrevised_tuned_20211031_154708']"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "import os\n",
    "\n",
    "chkpt_root = '/mnt/tess/astronet/checkpoints/vrevised_tuned_6_run_3'\n",
    "data_files = '/mnt/tess/astronet/tfrecords-vetting-6-toi-val/*'\n",
    "tces_file = '/mnt/tess/astronet/tces-vetting-v5-toi-val.csv'\n",
    "\n",
    "nruns = 10\n",
    "\n",
    "def load_ensemble(chkpt_root, nruns):\n",
    "    checkpts = []\n",
    "    for i in range(nruns):\n",
    "        parent = os.path.join(chkpt_root, str(i + 1))\n",
    "        if not os.path.exists(parent):\n",
    "            break\n",
    "        all_dirs = os.listdir(parent)\n",
    "        if not all_dirs:\n",
    "            break\n",
    "        d, = all_dirs\n",
    "        checkpts.append(os.path.join(parent, d))\n",
    "    return checkpts\n",
    "\n",
    "paths = load_ensemble(chkpt_root, nruns)\n",
    "paths"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {
    "scrolled": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Running model 1\n",
      "354 records\n",
      "Running model 2\n",
      "354 records\n",
      "Running model 3\n",
      "354 records\n",
      "Running model 4\n",
      "354 records\n",
      "Running model 5\n",
      "354 records\n",
      "Running model 6\n",
      "354 records\n",
      "Running model 7\n",
      "354 records\n",
      "Running model 8\n",
      "354 records\n",
      "Running model 9\n",
      "354 records\n",
      "Running model 10\n",
      "354 records\n"
     ]
    }
   ],
   "source": [
    "import getpass\n",
    "import os\n",
    "from astronet import predict\n",
    "import tensorflow as tf\n",
    "\n",
    "\n",
    "def run_predictions(path):\n",
    "    predict.FLAGS = predict.parser.parse_args([\n",
    "      '--model_dir', path,\n",
    "      '--data_files', data_files,\n",
    "      '--output_file', '',\n",
    "    ])\n",
    "\n",
    "    return predict.predict()\n",
    "\n",
    "\n",
    "paths = load_ensemble(chkpt_root, nruns)\n",
    "ensemble_preds = []\n",
    "config = None\n",
    "for i, path in enumerate(paths):\n",
    "    print(f'Running model {i + 1}')\n",
    "    preds, config = run_predictions(path)\n",
    "    ensemble_preds.append(preds.set_index('tic_id'))\n",
    "    print()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [],
   "source": [
    "labels = ['disp_p', 'disp_e', 'disp_n']\n",
    "\n",
    "col_p = labels.index('disp_p')\n",
    "# thresh = 0.1579816417694639\n",
    "thresh = 0.99"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [],
   "source": [
    "all_preds_table = ensemble_preds[0].copy()\n",
    "all_preds_table['model'] = 0\n",
    "\n",
    "for i in range(len(ensemble_preds[1:])):\n",
    "    tmp = ensemble_preds[i].copy()\n",
    "    tmp['model'] = i\n",
    "    all_preds_table = all_preds_table.append(tmp)\n",
    "    \n",
    "all_preds_table.to_csv('toi_ensemble_preds.csv')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "import pandas as pd\n",
    "\n",
    "agg_preds = {}\n",
    "\n",
    "for preds in ensemble_preds:\n",
    "    for tic_id in preds.index:\n",
    "        if tic_id not in agg_preds:\n",
    "            agg_preds[tic_id] = []\n",
    "\n",
    "        row = preds[preds.index == tic_id]\n",
    "        pred_v = row.values[0]\n",
    "        if len(row.values) > 1:\n",
    "            print(f'Warning: duplicate predictions for {tic_id}')\n",
    "        if pred_v[col_p] >= thresh:\n",
    "            agg_preds[tic_id].append('disp_p')\n",
    "        else:\n",
    "            agg_preds[tic_id].append(preds.columns[np.argmax(pred_v)])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [],
   "source": [
    "final_preds = []\n",
    "for tic_id in list(agg_preds.keys()):\n",
    "    counts = {l: 0 for l in labels}\n",
    "    for e in agg_preds[tic_id]:\n",
    "        counts[e] += 1\n",
    "    maxcount = max(counts.values())\n",
    "    counts.update({\n",
    "        'tic_id': tic_id,\n",
    "        'maxcount': maxcount,\n",
    "    })\n",
    "    final_preds.append(counts)\n",
    "    \n",
    "final_preds = pd.DataFrame(final_preds).set_index('tic_id')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [],
   "source": [
    "tce_table = pd.read_csv(tces_file, header=0).set_index('tic_id')\n",
    "tce_labels = tce_table[labels]\n",
    "\n",
    "pl = final_preds.join(tce_labels, on='tic_id', how='left', lsuffix='_p')\n",
    "\n",
    "pl.head()\n",
    "pd.set_option('display.max_columns', None)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Recall: 1.0\n",
      "Precision: 0.8160919540229885\n"
     ]
    }
   ],
   "source": [
    "ppos = (pl['disp_p_p'] > 0)\n",
    "pos = (pl['disp_p'] > 0)\n",
    "\n",
    "pneg = (pl['disp_p_p'] == 0)\n",
    "neg = (pl['disp_p'] == 0)\n",
    "\n",
    "print('Recall:', len(pl[ppos & pos]) / len(pl[pos]))\n",
    "print('Precision:', len(pl[ppos & pos]) / len(pl[ppos]))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [],
   "source": [
    "for i in pl[pos & pneg][[]].join(tce_table, on='tic_id', how='left').index:\n",
    "    print(i)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {
    "scrolled": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "119774374\n",
      "23826331\n",
      "24491836\n",
      "271903247\n",
      "276645751\n",
      "276936320\n",
      "278225267\n",
      "278866211\n",
      "280095254\n",
      "30275619\n",
      "304729846\n",
      "307153959\n",
      "344978642\n",
      "372222115\n",
      "380783252\n",
      "384068226\n",
      "384744828\n",
      "424876542\n",
      "469782185\n",
      "74934381\n",
      "98350979\n",
      "137778682\n",
      "365494323\n",
      "388076435\n",
      "149854222\n",
      "2234723\n",
      "321828403\n",
      "24004619\n",
      "457138169\n",
      "255994336\n",
      "1715469662\n",
      "1715469667\n"
     ]
    }
   ],
   "source": [
    "for i in pl[neg & ppos][[]].join(tce_table, on='tic_id', how='left').index:\n",
    "    print(i)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>disp_p</th>\n",
       "      <th>disp_e</th>\n",
       "      <th>disp_n</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>tic_id</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2234723</th>\n",
       "      <td>0.004113</td>\n",
       "      <td>0.992548</td>\n",
       "      <td>0.003339</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2234723</th>\n",
       "      <td>0.024314</td>\n",
       "      <td>0.970514</td>\n",
       "      <td>0.005172</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2234723</th>\n",
       "      <td>0.004559</td>\n",
       "      <td>0.992899</td>\n",
       "      <td>0.002542</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2234723</th>\n",
       "      <td>0.001144</td>\n",
       "      <td>0.998391</td>\n",
       "      <td>0.000466</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2234723</th>\n",
       "      <td>0.003705</td>\n",
       "      <td>0.994648</td>\n",
       "      <td>0.001647</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2234723</th>\n",
       "      <td>0.004258</td>\n",
       "      <td>0.989186</td>\n",
       "      <td>0.006556</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2234723</th>\n",
       "      <td>0.027469</td>\n",
       "      <td>0.968147</td>\n",
       "      <td>0.004384</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2234723</th>\n",
       "      <td>0.022984</td>\n",
       "      <td>0.969075</td>\n",
       "      <td>0.007942</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2234723</th>\n",
       "      <td>0.511956</td>\n",
       "      <td>0.441487</td>\n",
       "      <td>0.046556</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2234723</th>\n",
       "      <td>0.007585</td>\n",
       "      <td>0.990209</td>\n",
       "      <td>0.002206</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "           disp_p    disp_e    disp_n\n",
       "tic_id                               \n",
       "2234723  0.004113  0.992548  0.003339\n",
       "2234723  0.024314  0.970514  0.005172\n",
       "2234723  0.004559  0.992899  0.002542\n",
       "2234723  0.001144  0.998391  0.000466\n",
       "2234723  0.003705  0.994648  0.001647\n",
       "2234723  0.004258  0.989186  0.006556\n",
       "2234723  0.027469  0.968147  0.004384\n",
       "2234723  0.022984  0.969075  0.007942\n",
       "2234723  0.511956  0.441487  0.046556\n",
       "2234723  0.007585  0.990209  0.002206"
      ]
     },
     "execution_count": 20,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "def compare(ensemble_preds, filter):\n",
    "    result = ensemble_preds[0][filter]\n",
    "    for preds in ensemble_preds[1:]:\n",
    "        result = result.append(preds[filter])\n",
    "    return result\n",
    "\n",
    "compare(ensemble_preds, preds.index == 2234723)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>disp_p_p</th>\n",
       "      <th>disp_e_p</th>\n",
       "      <th>disp_n_p</th>\n",
       "      <th>maxcount</th>\n",
       "      <th>disp_p</th>\n",
       "      <th>disp_e</th>\n",
       "      <th>disp_n</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>tic_id</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>113428669</th>\n",
       "      <td>10</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>10</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "           disp_p_p  disp_e_p  disp_n_p  maxcount  disp_p  disp_e  disp_n\n",
       "tic_id                                                                   \n",
       "113428669        10         0         0        10       1       0       0"
      ]
     },
     "execution_count": 14,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "pl[pl.index == 113428669]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### PR curve"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {
    "scrolled": false
   },
   "outputs": [],
   "source": [
    "tics = set(ensemble_preds[0].index.values)\n",
    "\n",
    "tic_index = {v: i for i, v in enumerate(tics)}\n",
    "\n",
    "pred_ps = np.zeros([len(ensemble_preds), len(tic_index)])\n",
    "pred_es = np.zeros([len(ensemble_preds), len(tic_index)])\n",
    "pred_ns = np.zeros([len(ensemble_preds), len(tic_index)])\n",
    "for i, preds in enumerate(ensemble_preds):\n",
    "    for row in preds.iterrows():\n",
    "        tic, pred_p = row[0], row[1][col_p]\n",
    "        pred_ps[i][tic_index[tic]] = pred_p\n",
    "        pred_es[i][tic_index[tic]] = row[1][labels.index('disp_e')]\n",
    "        pred_ns[i][tic_index[tic]] = row[1][labels.index('disp_n')]\n",
    "\n",
    "lbl_ps = np.zeros([len(tic_index)], dtype=np.bool)\n",
    "bad_labels = []\n",
    "for row in tce_labels.iterrows():\n",
    "    tic, lbl_p = row[0], row[1]['disp_p']\n",
    "    if tic in tic_index:\n",
    "        lbl_ps[tic_index[tic]] = (lbl_p > 0)\n",
    "    else:\n",
    "        bad_labels.append(tic)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [],
   "source": [
    "num_cond_pos = float(np.sum(lbl_ps))\n",
    "\n",
    "def pr_at_th(th):\n",
    "    pred_pos = np.any(pred_ps >= th, axis=0)\n",
    "    true_pos = pred_pos & lbl_ps\n",
    "    num_pred_pos = int(np.sum(pred_pos))\n",
    "    num_true_pos = int(np.sum(true_pos))\n",
    "    if num_pred_pos == 0:\n",
    "        return 1.0, 0.0\n",
    "    return float(num_true_pos) / float(num_pred_pos), float(num_true_pos) / float(num_cond_pos)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "AUC: 0.9728536729144575, max R: 1.0, max P: 1.0\n",
      "100% recall at: 81%, threshold: 0.4749995231628968\n"
     ]
    },
    {
     "data": {
      "image/png": "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OO+881bZ50Mf+tBz29OnZzejWbJkCStW9L24pK2tjebmZrq6uujs7OzTNnnyZKZOnUpKqWr2etq0aUyaNImlS5eyfHnfXFJraystLS10d3ezbNmyPm2TJk1i2rRpACxatGjAcadOncrkyZNZtmwZ3d3dfdpaWlpobW1l+fLlLF26tE9bRNDent1AZ/HixQMuM5wyZQpNTU10dnbS1dXVp625uZm2tjZWrFjBkiVLBsyp92fY0dFBT09Pn7ahfoZNTU1MmTKFnp6eqlfotLe3ExFVfzdD/Qx7fzdQ/Wc41O9mqJ9h5e+m2s+w93cz0p9h5e+m2s+w93fT1dX13Gt7n1fnZ9j7uxnqZ7g68b06P8Oh4nt1fobVfjer+hl6jsjU8xzRe4zOzk6mT5/uOWIE54ixPM96jsjU6hzR+zNNKY04Dst+jujl+4hMw88Rz5/Dsjf9nuZbz6H16i8RXX1/Zu0d98P5R9K97Wvp3PcTpGnreY7o9zP0fcTEPUdMtKuYSpn0ACpvPzuc31hv0qN9VR1HIiJage+T3bkFslvm1szNN9/83PZ++2UXl8ydO3fAP/ytt96aDTbYgMcff5y77767T9vaa6/NDjvswIoVK/ocr9cee+xBS0sL99xzD08++WSfts0335yZM2fyzDPPcNddfdd2bW9vZ/bs2QDccsstA04Yc+bMYdq0acyfP59HHnmkT9vMmTPZfPPNWbx4Mf/4xz/6tLW0tLDHHnsAcPvttw842ey4446stdZaPPTQQyxYsKBP24YbbshWW23FsmXLBnyvEcG+++4LZD/D/v/wt912W9Zbbz0effRR7r333j5t6667Lttvvz3Lly+v+jPca6+9aGpq4u677+bpp5/u0zZr1iw22mgjnnrqKebOndunbfr06eyyyy4AVY+72267MWXKFO6//34ee+yxPm2bbLIJm266KQsXLuT222/v09bW1saLX/xiAG677bYB/xHstNNOrLnmmixYsICHHnqoT9vzn/98XvjCF7JkyZIBc5o8eTJ7751Vmd11110DTvbbbbcdM2bM4JFHHuG+++4DeO57njFjBttttx3d3d1Vv9d99tmHiGDevHk8++yzfdq23HJLnve85/HEE08wb968Pm1rrrkmO+20EymlqsfdfffdaW1t5d577+WJJ57o07bZZpux8cYb88wzz3DnnXf2aZs6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\n",
      "text/plain": [
       "<Figure size 1200x740 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "from matplotlib import pyplot as plt\n",
    "\n",
    "ps, rs, ths = ([], [], [])\n",
    "th = np.max(pred_ps)\n",
    "while th >= 0.0:\n",
    "    p, r = pr_at_th(th)\n",
    "    if p > 0:\n",
    "        ps.append(p)\n",
    "        rs.append(r)\n",
    "    else:\n",
    "        ps.append(1.0)\n",
    "        rs.append(0.0)\n",
    "    ths.append(th)\n",
    "    th -= 0.0005\n",
    "    \n",
    "from sklearn import metrics\n",
    "\n",
    "print(f'AUC: {metrics.auc(rs, ps)}, max R: {max(rs)}, max P: {max(ps)}')\n",
    "    \n",
    "i = len(rs) - 1\n",
    "while rs[i] == 1.0:\n",
    "    i -= 1\n",
    "i += 1\n",
    "print(f'100% recall at: {int(ps[i] * 100)}%, threshold: {ths[i]}')\n",
    "\n",
    "fig, ax = plt.subplots(figsize=(6, 3.7), dpi=200)\n",
    "\n",
    "ax.spines['top'].set_color('#808080')\n",
    "ax.spines['right'].set_color('#808080')\n",
    "ax.spines['left'].set_color('#808080')\n",
    "ax.spines['bottom'].set_color('#808080')\n",
    "ax.tick_params(direction='in', color='#808080')\n",
    "\n",
    "plt.grid(color='#c0c0c0', linestyle='--', linewidth=0.5)\n",
    "\n",
    "plt.ylabel('Precision', fontweight='bold')\n",
    "plt.xlabel('Recall', fontweight='bold')\n",
    "\n",
    "plt.xlim((0.0, 1.0))\n",
    "plt.ylim((0.0, 1.0))\n",
    "\n",
    "_ = plt.plot(rs, ps, marker='.')\n",
    "_ = plt.plot([0.0, 1.0], [1.0, 0.0])"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.6"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
